﻿using System;
using System.Web;

namespace YanZhiwei.DotNet2.Utilities.AspNet
{
    /// <summary>
    /// cookie 帮助类
    /// </summary>
    public class CookieHelper
    {
        #region 清除指定Cookie
        /// <summary>
        /// 清除指定Cookie
        /// </summary>
        /// <param name="cookiename">cookiename</param>
        public static void ClearCookie(string cookiename)
        {
            HttpCookie _cookie = HttpContext.Current.Request.Cookies[cookiename];
            if (_cookie != null)
            {
                _cookie.Expires = DateTime.Now.AddYears(-3);
                HttpContext.Current.Response.Cookies.Add(_cookie);
            }
        }
        #endregion
        #region 获取指定Cookie值
        /// <summary>
        /// 获取指定Cookie值
        /// </summary>
        /// <param name="cookiename">cookiename</param>
        /// <returns></returns>
        public static string GetCookieValue(string cookiename)
        {
            HttpCookie _cookie = HttpContext.Current.Request.Cookies[cookiename];
            string _value = string.Empty;
            if (_cookie != null)
            {
                _value = _cookie.Value;
            }
            return _value;
        }
        #endregion
        #region 添加一个Cookie（24小时过期）
        /// <summary>
        /// 添加一个Cookie（24小时过期）
        /// </summary>
        /// <param name="cookiename">键</param>
        /// <param name="cookievalue">值</param>
        public static void SetCookie(string cookiename, string cookievalue)
        {
            SetCookie(cookiename, cookievalue, DateTime.Now.AddDays(1.0));
        }
        #endregion
        #region 设置cookie
        /// <summary>
        /// 设置cookie
        /// </summary>
        /// <param name="cookiename">键</param>
        /// <param name="cookievalue">值</param>
        /// <param name="expires">过期时间 DateTime</param>
        public static void SetCookie(string cookiename, string cookievalue, DateTime expires)
        {
            HttpCookie _cookie = new HttpCookie(cookiename)
            {
                Value = cookievalue,
                Expires = expires
            };
            HttpContext.Current.Response.Cookies.Add(_cookie);
        }
        #endregion 
    }
}
